Adjustment Mechanisms For Virtual Knobs On A Touchscreen Interface

ABSTRACT

The disclosure herein provides for interpreting and facilitating user input to virtual knobs on a touchscreen interface. Aspects of the disclosure provide for the interpretation of a contact with a virtual knob of a device represented on a touchscreen interface. In response to the contact, a state change associated with the virtual knob may be made, or an annular input icon displayed around the virtual knob. The annular input icon may guide an adjustment of the virtual knob.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional application of co-pending U.S. patentapplication Ser. No. 13/430,100 filed on Mar. 26, 2012, entitled,“Adjustment Mechanisms For Virtual Knobs On A Touchscreen Interface,”which is expressly incorporated herein by reference in its entirety.

BACKGROUND

Touchscreen interfaces are becoming increasingly popular as a means forproviding a user with graphical and textual information and acceptinginput via direct contact on the touchscreen from the user's finger. Mostsmartphones and many personal computers utilize touchscreen technologyto provide efficient interaction with users. A touchscreen interfaceessentially provides a program designer a blank canvas with which todisplay any desired graphical and textual depiction and to accept inputdirectly on that depiction at any desired input location. The displayedgraphics and text on a touchscreen interface may be dynamically alteredat any desired time along with the number, type, and positioning ofinput locations through which input is accepted from the user via fingercontact with the touchscreen.

This versatility provided by touchscreen technology presents trainingopportunities in which various control panels and instruments may besimulated on an electronic device having a touchscreen. For example,aircraft cockpit instrumentation may be simulated on a tablet computeror flat screen panel utilizing a touchscreen interface. Moreover,cockpits in actual aircraft may additionally trend towards the use offlat screen panels having virtual avionics displayed on a touchscreen.In a training environment, various flight operations may be simulatedfor a pilot or crewmember on the virtual instruments displayed on thetouchscreen. These types of simulations may be particularly realisticwhen the instrument being simulated utilizes buttons for receivinginput. A virtual button may be displayed at a proper location on thevirtual instrument where it would be located on the correspondingphysical instrument. A user, such as a pilot or crewmember, may touchthe touchscreen interface at the location in which the virtual button isdisplayed. This contact of the user's finger with the touchscreeninterface at the location of the virtual button may be interpreted as aphysical press of the corresponding button.

However, when a virtual instrument simulates an instrument that utilizesknobs that are physically turned by a pilot or crewmember, thetwo-dimensional simulation of the virtual knobs on the touchscreeninterface may not be physically turned in the manner in which an actualthree-dimensional knob is turned. According to a conventional method forsimulating input to a virtual knob, the user selects the virtual knobdisplayed on the two-dimensional touchscreen interface. In response tothe selection of the virtual knob, a slider may pop up in the center ofthe touchscreen interface. The user may then slide a finger left orright along the slider to adjust the parameter corresponding to thevirtual knob in a similar manner as if the knob were being turnedclockwise or counterclockwise.

There are limitations with this type of interaction with a virtual knob.First, the input is not realistic. Sliding a finger linearly along atwo-dimensional touchscreen surface is not similar to the actualphysical turning of a three-dimensional knob. Additionally, the locationin which the slider is displayed may not be the same location as thevirtual knob. As a result, the user may make one action at a firstlocation during selection of the control, and then physically move hisor her finger to the second location of the slider to adjust thecontrol. This movement is not realistic, may create input errors due torelocating the user's finger, and may undesirably divert the user'sattention from performing a primary action as he or she looks down atthe touchscreen interface to locate the slider after selecting thevirtual knob.

It is with respect to these considerations and others that thedisclosure made herein is presented.

SUMMARY

It should be appreciated that this Summary is provided to introduce aselection of concepts in a simplified form that are further describedbelow in the Detailed Description. This Summary is not intended to beused to limit the scope of the claimed subject matter.

Methods and computer-readable storage media described herein provide forthe selective display of annular input icons on a touchscreen interfacefor adjustment of virtual knobs. Types of user contact are alsodistinguished to provide for device state changes and correspondingvirtual knob adjustments. According to one aspect, acomputer-implemented method includes providing a representation of adevice with a virtual knob on a touchscreen interface. The selection ofthe virtual knob may be detected, and in response, an annular input iconmay be positioned around the virtual knob for accepting user input. Theuser input to the virtual knob via the annular input icon may bedetected and a corresponding adjustment made to the device.

According to another aspect, a computer-implemented method includesproviding a representation of a device with a number of virtual knobs ona touchscreen interface. A selection of one of the knobs may bedetected, and in response, a state of the device may be changed. Asecond selection of one of the knobs may be detected, and in response, adetermination may be made as to which virtual knob is to receive userinput. An annular input icon may be displayed around the virtual knobdetermined to receive the user input. The user input to the virtual knobvia the annular input icon may be detected and a correspondingadjustment made to the device.

According to yet another aspect, a computer-readable storage mediumincludes instructions that, when executed by a computer, cause thecomputer to provide a representation of a device with a number ofvirtual knobs on a touchscreen interface. A selection of one virtualknob may be detected, and in response, the virtual knob to receive userinput may be determined. An annular input icon may be displayed aroundthe virtual knob to receive the user input. After detecting the userinput corresponding to the annular input icon, the device may beadjusted accordingly.

The features, functions, and advantages that have been discussed can beachieved independently in various embodiments of the present disclosureor may be combined in yet other embodiments, further details of whichcan be seen with reference to the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1F are display diagrams illustrating aspects of a virtual knobadjustment process associated with a device depicted on a touchscreeninterface according to various embodiments presented herein;

FIGS. 2A and 2B are display diagrams illustrating aspects of a virtualknob state change process associated with a device depicted on atouchscreen interface according to various embodiments presented herein;

FIGS. 3A and 3B are display diagrams illustrating the positioning of anannular input icon in response to the selection of a virtual knob of adevice depicted on a touchscreen interface according to variousembodiments presented herein;

FIG. 4 is a flow diagram showing a method of receiving user input at atouchscreen interface according to various embodiments presented herein;and

FIG. 5 is a computer architecture diagram showing an illustrativecomputer hardware and software architecture for a computing systemcapable of implementing the embodiments presented herein.

DETAILED DESCRIPTION

The following detailed description is directed to facilitating userinput for a virtual knob on a touchscreen interface. As discussed above,touchscreen interfaces are becoming increasingly popular for use with avast number of applications. Examples in the aircraft industry includeusing touchscreen devices to simulate instruments and controls fortraining purposes, as well as for actual instrument panels in aircraftcockpits. While extremely useful in providing the user with theflexibility to customize a particular touchscreen interface as desired,touchscreen interfaces do not adequately simulate the act of adjusting aphysical knob.

Many aircraft instruments and other devices utilize three-dimensionalcontrol knobs that a user twists or rotates to provide control input.Because of the two-dimensional depiction of a three-dimensional knob, auser is unable to adjust a virtual knob in the same manner as he or shewould adjust an actual physical knob. As a result, a conventionalsimulation on a touchscreen interface may initiate a secondary interfacesuch as a slider when a virtual knob is selected for adjustment. Thesecondary interface is not realistic and may create a distraction whenthe user operates the actual physical instruments after training on atouchscreen simulator that utilizes methods for adjusting the virtualcontrols that differ from the adjustment of the physical knobs on theactual instruments.

Utilizing the concepts and technologies described herein, an annularinput icon may be displayed around a virtual knob on a touchscreeninterface to assist the user in determining the proper placement andmotion for adjusting the virtual knob. The circular motion used toprovide input to an annular input icon most closely simulates the actualrotation of a corresponding physical knob being simulated by thetouchscreen. Software may be utilized in conjunction with thetouchscreen interface and virtual knobs to recognize user contact withthe annular input icon and to perform the appropriate adjustments of thevirtual knob. For example, a user may rotate his or her finger around anannular input icon provided around a virtual knob just as he or shewould do with a traditional knob or wheel of a conventional instrumentdisplay. Utilizing the corresponding software, a processor of acomputing device recognizes the user input with respect to the virtualknob and initiates the corresponding device response.

As used throughout this disclosure, the terms “touchscreen interface”and “touchscreen” may refer to any capacitive display device or otherinterface surface that allows a user to provide input to a correspondingdevice or system by interacting with one or more virtual controlsrepresented on a display surface using a finger, stylus, or othermechanism. A “virtual knob” may be any representation of athree-dimensional physical knob or dial on an instrument or device. Userinteraction or manipulation provided to the virtual knob (i.e., via theannular input icons described below) results in a desired input to thesimulated device associated with the virtual knob.

In the following detailed description, references are made to theaccompanying drawings that form a part hereof, and which are shown byway of illustration, specific embodiments, or examples. Referring now tothe drawings, in which like numerals represent like elements through theseveral figures, methods for interpreting and facilitating user input tovirtual knobs on a touchscreen interface according to the variousembodiments will be described.

FIG. 1 shows a view of a touchscreen interface 100. As discussed above,the touchscreen interface 100 may include any device having a surfacethat allows a user to provide input by interacting with one or morevirtual controls represented on a display surface using a finger,stylus, or other mechanism. Examples include, but are not limited to, atablet computer, an electronic reader, a touchscreen desktop or laptopcomputer, a smartphone, an MP3 or other digital music player, and atouchscreen panel such those used within an aircraft or other vehiclecockpit or simulator.

According to this embodiment, a representation of a device 102 isdisplayed on the touchscreen interface 100. The device 102 may be anytype of electronic device having one or more controls, such as knobs,wheels, switches, and buttons. For clarity purposes, the variousembodiments described herein will be discussed with respect to a device102 having two virtual knobs 106A and 106B (referred to in general asvirtual knobs 106) and two corresponding control displays 104. Thecontrol displays 104 may provide text or graphical data corresponding tothe positioning of the virtual knobs 106. For example, the device 102may be an aircraft communications radio in which a virtual knob 106 maybe used to tune the radio to a specific frequency, which may bedisplayed on a control display 104.

In this example, the virtual knobs 106 may each include a referenceposition indicator 108 that represents a starting position for thecontrol. As an example, when a virtual knob 106 is turned to align withthe reference position indicator 108 as shown in FIG. 1A, the controlmay be in an “off” position or at a lowest value of a range of settings.According to various embodiments, the virtual knobs 106 may be turnedclockwise or counterclockwise to adjust a parameter of the device 102.The virtual knobs 106 may also include a state indicator 110 or controllabel that identifies one or more states associated with the particularvirtual knob 106. The state indicator 110 may provide a user with anidentification of a first state and a second state associated with thevirtual knob 106. The virtual knob 106 may be pushed or pulled to switchbetween the first and second states before an adjustment is made withinthe selected state through a clockwise or counterclockwise turn of theknob.

For example, according to one embodiment, the device 102 may include anaircraft radio component. The state indicator 110 for virtual knob 106Amay be represented as “OPER/CALL,” which indicates to a user that thevirtual knob 106A may be pushed or pulled to switch between “OPER” and“CALL” states before turning the virtual knob 106A to adjust the radiosettings in each of the two states. It should be appreciated that theconcepts described herein are not limited to this or other specificembodiments. Rather, a touchscreen interface 100 may display any numberand type of devices 102 simultaneously. Each device 102 may include anynumber of virtual knobs 106. Each virtual knob 106 may be used to adjustone or more control parameters in one or more states. In other words, avirtual knob 106 may simulate pushing or pulling of the knob to changestates prior to adjustment as described below, or may simply be rotatedto adjust a single parameter within a single state without an option tochange states.

Referring to FIGS. 1A-1F, an illustrative example of an adjustment to avirtual knob 106A will be described according to one embodiment. Toinitiate the adjustment, FIG. 1A shows a user tapping the virtual knob106A with his or her hand 112. In this example, the virtual knob 106B isnot being adjusted and will remain unaltered. Because the virtual knob106A is a two-dimensional representation of a three-dimensional controlknob and cannot be physically pulled, pushed, and rotated, embodimentsherein distinguish between various types of contact from the user todetermine a desired course of action. The desire to alter the state ofthe virtual knob 106A (corresponding to a push or pull of athree-dimensional knob) may be identified from an extended contact withthe virtual knob 106A, such as pressing the virtual knob 106A andmaintaining contact with the touchscreen interface 100 for a briefpre-determined period of time. This extended contact will be illustratedand described below with respect to FIGS. 2A and 2B. The desire toadjust the parameter associated with the knob (corresponding to arotation or twisting of a three-dimensional knob) may be identified froma tapping or brief contact with the virtual knob 106A. Tap icon 107 willbe used in the figures to identify a tap or brief contact of a finger orstylus on a virtual knob 106 to initiate an adjustment of the virtualknob 106.

A processor executing software associated with the display and operationof the device 102 recognizes the tap on the virtual knob 106A and inresponse, provides an annular input icon 114 around the virtual knob106A as shown in FIG. 1B. The annular input icon 114 visually identifiesan area around the virtual knob 106A being adjusted in which user inputwill be recognized. The annular input icon 114 may include a ring of anydiameter that encircles the virtual knob 106A. As seen in FIG. 1B, theannular input icon 114 may have a shading, color, or pattern so as tomore clearly highlight the area around the virtual knob 106A in whichthe user may contact to make the desired adjustments. According to oneembodiment, the annular input icon 114 is translucent in order to allowfor any underlying text or graphics to be visible when the annular inputicon 114 is displayed around the virtual knob 106A.

One benefit of displaying the annular input icon 114 is to visuallyidentify the area for input to the user. Another benefit is that thevirtual knobs 106 may be simulated according to the actual size of thecorresponding three-dimensional knobs while providing additional spacearound the knobs for the user to adjust the knobs. Without the annularinput icons 114 being displayed around the virtual knobs 106, a virtualknob would need to be displayed as a significantly larger knob than itscorresponding three-dimensional counterpart in order for the user toaccurately adjust a virtual knob 106 by rotating his or her finger onthe virtual knob itself. By representing the virtual knobs 106 in actualsize with the annular input icons 114 displayed around the knobs,realism is preserved while minimizing the screen space used whenrendering the device 102 on the touchscreen interface 100.

Turning to FIGS. 1C and 1D, the adjustment of the virtual knob 106A willbe described in further detail. FIG. 1C shows the user adjusting thevirtual knob 106A by placing a finger on the annular input icon 114 andsliding the finger in a clockwise direction around the virtual knob106A. The processor will detect the arcuate contact between the fingerand the touchscreen interface 100 and the corresponding motion aroundthe annular input icon 114. Clockwise rotation of the finger will beinterpreted as rotating the virtual knob 106A in a clockwise direction,and the parameter associated with the virtual knob 106A (i.e., radiofrequency) will be adjusted accordingly. According to one embodiment,the representation of the virtual knob 106A may be rotated concurrentlywith the finger movement in the corresponding direction, just as if theuser were rotating a physical three-dimensional knob. FIG. 1D shows asimilar adjustment, but in the counterclockwise direction. The annularinput icon 114 may remain displayed on the touchscreen interface 100 forreceiving user input until removed by the user, as shown in FIGS. 1E and1F.

FIG. 1E shows the user again tapping the virtual knob 106A. Because theannular input icon 114 is already displayed on the touchscreen interface100, the device control application executed by the processor recognizesthis tap as an instruction to remove the annular input icon 114 sinceadjustment of the virtual knob 106A is no longer desired. As seen inFIG. 1F, the processor responds to the second tap (the first taptriggering the display of the annular input icon 114) by removing theannular input icon 114 from the touchscreen interface 100. Shouldfurther adjustment of a virtual knob 106 be desired, the user would tapthe desired knob to produce the corresponding annular input icon 114 andadjust accordingly.

Turning to FIGS. 2A and 2B, an illustrative example of a stateadjustment of a virtual knob 106A will be described according to oneembodiment. As discussed above, various implementations may include avirtual knob 106 that may be used to adjust one or more parameters intwo different states. With a conventional three-dimensional knob on anelectronic device, the knob may be configured to be pressed inward tocontrol a parameter according to a first state and pulled outward tocontrol a parameter according to a second state. It is possible that aknob could be pushed and pulled through any number of stops or positionsto control parameters in more than two states. According to oneembodiment, a virtual knob 106 may simulate a three-dimensional knobcapable of adjusting a parameter according to multiple states.

FIG. 2A shows one implementation in which a user applies an extendedcontact on the touchscreen interface 100 at a position on a virtual knob106 to trigger a state change. Similar to the tap icon 107 used torepresent a tap or brief contact of a finger or stylus on a virtual knob106 to initiate an adjustment of the virtual knob 106, an extendedcontact icon 207 will be used in the figures to represent a press andhold action taken by the user to initiate a state change correspondingto the virtual knob 106. As seen in the example shown in FIG. 2A, thestate indicators 110 of the virtual knobs 106A and 106B indicate thatboth controls are positioned in a first state. It should be understoodthat the state indicators 110 may be configured to dynamically displaythe current state of the corresponding virtual knob 106 as the state ismodified, or may be configured to statically display the availablestates associated with the virtual knobs 106.

The user may perform an extended contact, or a press and hold action, onthe virtual knob 106A in order to trigger a state change of the knob. Asseen in FIG. 2B, the processor responds to the extended contact onvirtual knob 106A by altering the state of the virtual knob 106A fromthe first state to the second state. According to one embodiment, thestate change may be visually indicated via a change in the color,shading, or pattern of the virtual knob 106A, as well as a change in thestate indicator 110. After altering the state of the virtual knob 106A,a return to the first state may be made in an identical manner,specifically via an extended contact with the virtual knob 106A.Moreover, an adjustment of the virtual knob 106A in the second state maybe made in the same manner described above with respect to FIGS. 1A-1E.

As described above, an extended contact with a virtual knob 106 maytrigger a state change that remains until a second extended contact withthe virtual knob 106 returns the state to the original state or changesthe state to yet another state. According to an alternative embodiment,an extended contact with a virtual knob may temporarily change the stateof the device as long as the virtual knob is held, which may simulate abutton press. In this alternative embodiment, any particular knob may beconfigured to temporarily change from a first state to a second state aslong as the knob is held, returning to the first state upon release ofthe virtual knob 106. As an example, a virtual knob 106 of acommunication radio may be configured to display an annular input icon114 for receiving an adjustment to the frequency or volume with a tapaction, while being configured as a transmit button that may be pressedand held by a user to transmit a voice communication over the selectedfrequency. Upon release of the virtual knob 106, the virtual knob 106may again be tapped to trigger an annular input icon 114 for adjustment.

The virtual knobs 106 may be further configured to “temporarily” or“permanently” change state in response to an extended contact dependingon the period of time in which the knob is held or contacted. Forexample, the virtual knob 106 may change state and remain in the newstate in response to the extended contact being held beyond a thresholdperiod of time, even if subsequently released. The virtual knob 106 maytemporarily change to a different state while the knob is held, butreturn to the original state upon release of the knob in response to theextended contact being held for a period of time between a timeinterpreted as a tap and a time corresponding to the threshold period oftime discussed above. It should be understood that the conceptsdescribed herein are not limited to any particular configuration of thevirtual knobs 106 with respect to a period of time in which extendedcontact is detected. Rather, the particular configuration may depend onthe possible actions with respect to the actual three-dimensional knobsof the device that are being simulated by the virtual knobs 106 of thedevice 102 represented on the touchscreen interface 100.

FIGS. 3A and 3B illustrate an embodiment in which an adjustment to avirtual knob 106 is only allowed if the adjustment is available giventhe corresponding state of the device 102. As discussed briefly above,the adjustment of certain parameters may be limited to a particularstate of the device 102, or of a state of one or more controls of thedevice 102. FIG. 3A illustrates a device 102 having a virtual knob 106Aconfigured in a second state and a virtual knob 106B configured in afirst state. A user taps the virtual knob 106B, as indicated by the tapicon 107, to trigger the display of an annular input icon 114 around thevirtual knob 106B for performing an adjustment of the virtual knob 106B.However, according to this example, the virtual knob 106B in the firststate is not adjustable when the virtual knob 106A is configured in thesecond state.

FIG. 3B shows one potential response to the tap on virtual knob 106Baccording to this embodiment. Upon determining that the adjustment tovirtual knob 106B is not possible, the processor may determine that anadjustment to virtual knob 106A is possible and display the annularinput icon 114 around the virtual knob 106A. The user may then adjustvirtual knob 106A using the annular input icon 114 or tap either virtualknob 106 to remove the annular input icon 114.

According to various embodiments, feedback may be provided to the userin response to providing user input, or concurrently with user input.The feedback may not only be visual such as the change in color,shading, or pattern of the virtual knobs as described above, but mayalso be aural and tactile. For example, an audible tone and or devicevibration may be provided upon receipt of a tap or extended contact fromthe user to a virtual knob 106. Additionally, a clicking sound, tone,and/or vibration may be provided upon rotation of a user's finger aroundthe annular input icon 114.

Turning now to FIG. 4, an illustrative routine 400 for receiving userinput to a device 102 represented on a touchscreen interface 100 willnow be described in detail. It should be appreciated that the logicaloperations described herein with respect to FIG. 4 are implemented (1)as a sequence of computer implemented acts or program modules running ona computing system and/or (2) as interconnected machine logic circuitsor circuit modules within the computing system. The implementation is amatter of choice dependent on the performance and other requirements ofthe computing system. Accordingly, the logical operations describedherein are referred to variously as operations, structural devices,acts, or modules. These operations, structural devices, acts and modulesmay be implemented in software, in firmware, in special purpose digitallogic, and any combination thereof. It should also be appreciated thatmore or fewer operations may be performed than shown in the figures anddescribed herein. These operations may also be performed in a differentorder than those described herein.

While the subject matter described herein is presented in the generalcontext of program modules that execute in conjunction with theexecution of an operating system and application programs on a computersystem, those skilled in the art will recognize that otherimplementations may be performed in combination with other types ofprogram modules. Generally, program modules include routines, programs,components, data structures, and other types of structures that performparticular tasks or implement particular abstract data types. Moreover,those skilled in the art will appreciate that the subject matterdescribed herein may be practiced with other computer systemconfigurations, including hand-held devices, multiprocessor systems,microprocessor-based or programmable consumer electronics,minicomputers, mainframe computers, and the like.

The routine 400 begins at operation 402, where a device controlapplication associated with the touchscreen interface 100 or a device102 detects a selection of a virtual knob 106. This selection may bemade as a tap or an extended contact of a finger or stylus with adesired virtual knob 106. At operation 404, a determination is made asto whether the selection was a tap on a virtual knob 106. If not, thenthe device control application determines that the selection included anextended contact of the virtual knob 106, and changes the statecorresponding to the selected virtual knob 106 at operation 406. Theroutine 400 then returns to operation 402 and continues as describedabove.

It should be appreciated that the determination as to whether theselection of the virtual knob 106 is a tap or an extended contact may ormay not include a determination as to whether the contact falls within aparameter for one type of contact, and if not, then determining that theselection corresponds to the other type of contact. For example, thedevice control application may determine that contact with a virtualknob 106 is an extended contact because it does not occur for less thana threshold period of time (which represents a tap) or because it doesoccur for more than a threshold period of time (which represents anextended contact).

However, if at operation 404, the device control application determinesthat the selection was a tap on the virtual knob 106, then the routine400 continues to operation 408, where a determination is made as towhether an annular input icon 114 is already displayed on thetouchscreen interface 100. If an annular input icon 114 is displayed,then the device control application may determine that the selection ofthe virtual knob 106 is a request to remove the annular input icon 114due to the completion of any desired adjustment, and may remove theannular input icon 114 at operation 410. The routine 40 then returns tooperation 402 and continues as described above.

If at operation 408, the device control application determines that anannular input icon 114 is not displayed on the touchscreen interface100, then the device control application may be displayed around theappropriate virtual knob 106 at operation 412. As previously discussed,the annular input icon 114 may be displayed around the virtual knob 106tapped by the user, or if the virtual knob 106 that was tapped by theuser is not available for adjustment due to the current state of thedevice 102, then the annular input icon 114 may be displayed around avirtual knob 106 that is available for adjustment.

The routine 400 continues from operation 412 to operation 414, where thedevice control application detects user input within the annular inputicon 114 and adjusts the corresponding virtual knob 106 accordingly atoperation 416. The user input to the annular input icon 114 may includea rotational swipe or sliding contact around the annular input icon 114in either the clockwise or counterclockwise directions depending on thedesired adjustment of the corresponding virtual knob 106. From operation416, the routine returns to operation 402 and continues as describedabove.

In addition to the operations described with respect to the routine 400,the device control application may provide additional feedback to theuser at any operation of the routine 400. In particular, visual and/oraural feedback may be provided to the user during any input operation.For example, the virtual knob 106 selected by a user to initiate a statechange may change colors along with an aural tone when pressed and held.A tap from the user to a virtual knob may be associated with a differentaural tone. An adjustment around an annular input icon 114 may beaccompanied by a clicking sound or tonal change to represent thein-progress adjustment of the associated parameter.

FIG. 5 shows an illustrative computer architecture for a computer 500capable of executing the software components described herein forimplementing the embodiments described above. The computer architectureshown in FIG. 5 illustrates a conventional desktop, laptop computer,server computer, tablet computer, smartphone, electronic reader, MP3player or other digital music device, or any flight computer configuredfor use with an aircraft system and may be utilized to implement thecomputer 500 and to execute any of the other software componentsdescribed herein.

The computer architecture shown in FIG. 5 includes a central processingunit 502 (CPU) or processor, a system memory 508, including a randomaccess memory 514 (RAM) and a read-only memory (ROM) 516, and a systembus 504 that couples the memory to the CPU 502. A basic input/outputsystem (BIOS) containing the basic routines that help to transferinformation between elements within the computer 500, such as duringstartup, is stored in the ROM 516. The computer 500 further includes amass storage device 510 for storing an operating system 518, applicationprograms, and other program modules, which will be described in greaterdetail below.

The mass storage device 510 is connected to the CPU 502 through a massstorage controller (not shown) connected to the bus 504. The massstorage device 510 and its associated computer-readable media providenon-volatile storage for the computer 500. Although the description ofcomputer-readable media contained herein refers to a mass storagedevice, such as a hard disk or CD-ROM drive, it should be appreciated bythose skilled in the art that computer-readable storage media can be anyavailable computer storage media that can be accessed by the computer500.

By way of example, and not limitation, computer-readable storage mediamay include volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer-readable instructions, data structures, program modules orother data. For example, computer-readable storage media includes, butis not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solidstate memory technology, CD-ROM, digital versatile disks (DVD), HD-DVD,BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape,magnetic disk storage or other magnetic storage devices, or anynon-transitory medium which can be used to store the desired informationand which can be accessed by the computer 500.

It should be appreciated that the computer-readable media disclosedherein also encompasses communication media. Communication mediatypically embodies computer readable instructions, data structures,program modules or other data in a modulated data signal such as acarrier wave or other transport mechanism and includes any informationdelivery media. The term “modulated data signal” means a signal that hasone or more of its characteristics set or changed in such a manner as toencode information in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media. Combinations of the any of the aboveshould also be included within the scope of computer readable media.Computer-readable storage media does not encompass communication media.

According to various embodiments, the computer 500 may operate in anetworked environment using logical connections to remote computersthrough a network such as the network 520. The computer 500 may connectto the network 520 through a network interface unit 506 connected to thebus 504. It should be appreciated that the network interface unit 506may also be utilized to connect to other types of networks and remotecomputer systems. The computer 500 may also include an input/outputcontroller 512 for receiving and processing input from a number of otherdevices, including a touchscreen interface 100, keyboard, mouse,joystick, or electronic stylus (not shown in FIG. 5). Similarly, aninput/output controller may provide output to a display screen, aprinter, or other type of output device (also not shown in FIG. 5).

As mentioned briefly above, a number of program modules and data filesmay be stored in the mass storage device 510 and RAM 514 of the computer500, including an operating system 1118 suitable for controlling theoperation of a networked desktop, laptop, tablet, smartphone, electronicreader, digital music player, server, or flight computer. The massstorage device 510 and RAM 514 may also store one or more programmodules. In particular, the mass storage device 510 and the RAM 514 maystore the device control application 522 executable to perform thevarious operations described above. The mass storage device 510 and RAM514 may also store other program modules and data.

In general, software applications or modules may, when loaded into theCPU 502 and executed, transform the CPU 502 and the overall computer 500from a general-purpose computing system into a special-purpose computingsystem customized to perform the functionality presented herein. The CPU502 may be constructed from any number of transistors or other discretecircuit elements, which may individually or collectively assume anynumber of states. More specifically, the CPU 502 may operate as one ormore finite-state machines, in response to executable instructionscontained within the software or modules. These computer-executableinstructions may transform the CPU 502 by specifying how the CPU 502transitions between states, thereby physically transforming thetransistors or other discrete hardware elements constituting the CPU502.

Encoding the software or modules onto a mass storage device may alsotransform the physical structure of the mass storage device orassociated computer-readable storage media. The specific transformationof physical structure may depend on various factors, in differentimplementations of this description. Examples of such factors mayinclude, but are not limited to: the technology used to implement thecomputer-readable storage media, whether the computer-readable storagemedia are characterized as primary or secondary storage, and the like.For example, if the computer-readable storage media is implemented assemiconductor-based memory, the software or modules may transform thephysical state of the semiconductor memory, when the software is encodedtherein. For example, the software may transform the states oftransistors, capacitors, or other discrete circuit elements constitutingthe semiconductor memory.

As another example, the computer-readable storage media may beimplemented using magnetic or optical technology. In suchimplementations, the software or modules may transform the physicalstate of magnetic or optical media, when the software is encodedtherein. These transformations may include altering the magneticcharacteristics of particular locations within given magnetic media.These transformations may also include altering the physical features orcharacteristics of particular locations within given optical media, tochange the optical characteristics of those locations. Othertransformations of physical media are possible without departing fromthe scope and spirit of the present description, with the foregoingexamples provided only to facilitate this discussion.

The subject matter described above is provided by way of illustrationonly and should not be construed as limiting. Various modifications andchanges may be made to the subject matter described herein withoutfollowing the example embodiments and applications illustrated anddescribed, and without departing from the true spirit and scope of thepresent disclosure, which is set forth in the following claims.

What is claimed is:
 1. A computer-implemented method for receiving userinput to a touchscreen interface, the method comprising: providing arepresentation of a device comprising a plurality of virtual knobs onthe touchscreen interface; detecting a selection of the virtual knob; inresponse to detecting the selection of the virtual knob, displaying anannular input icon around the virtual knob; detecting an extendedcontact on the surface of the touchscreen interface at a positionproximate to a virtual knob of the plurality of virtual knobs; inresponse to detecting the extended contact, changing a state of thedevice from a first state to a second state corresponding to the virtualknob proximate to the position of the extended contact; detecting a userinput corresponding to the annular input icon; and adjusting the deviceaccording to the second state and the user input.
 2. Thecomputer-implemented method of claim 1, wherein the device comprises avehicle instrument, and wherein the touchscreen interface is associatedwith a vehicle simulator.
 3. The computer-implemented method of claim 1,wherein detecting the user input corresponding to the annular input iconcomprises detecting an arcuate contact on a surface of the touchscreeninterface within the annular input icon.
 4. The computer-implementedmethod of claim 1, wherein detecting the selection of the virtual knobcomprises detecting a first tap on a surface of the touchscreeninterface at a position proximate to the virtual knob of the pluralityof virtual knobs.
 5. The computer-implemented method of claim 4, furthercomprising: detecting a second tap on the surface of the touchscreeninterface at the position proximate to the virtual knob associated withthe first tap; and in response to detecting the second tap of thevirtual knob, removing the annular input icon from around the virtualknob.
 6. The computer-implemented method of claim 4, further comprising:determining whether the virtual knob proximate to the position of thefirst tap on the surface of the touchscreen interface may be adjusted;if the virtual knob proximate to the position of the first tap on thesurface of the touchscreen interface may be adjusted, displaying theannular input icon around the virtual knob proximate to the position ofthe first tap; and if the virtual knob proximate to the position of thefirst tap on the surface of the touchscreen interface may not beadjusted, displaying the annular input icon around an alternativevirtual knob of the plurality of virtual knobs that may be adjusted. 7.The computer-implemented method of claim 1, wherein the annular inputicon is at least partially translucent such that the representation ofthe device underlying the annular input icon is visible through theannular input icon.
 8. The computer-implemented method of claim 1,further comprising providing feedback to the user in response to theselection of the virtual knob or in response to the user input.
 9. Thecomputer-implemented method of claim 10, wherein the feedback comprisesa vibration.
 10. The computer-implemented method of claim 10, whereinthe feedback comprises an aural response.
 11. A computer-implementedmethod for receiving user input to a touchscreen interface, the methodcomprising: providing a representation of a device comprising aplurality of virtual knobs on the touchscreen interface; detecting afirst selection of a virtual knob of the plurality of virtual knobs; inresponse to the first selection, changing a state of the device;detecting a second selection of a virtual knob of the plurality ofvirtual knobs; in response to the second selection, determining avirtual knob to receive user input; displaying an annular input iconaround the virtual knob to receive user input; detecting the user inputcorresponding to the annular input icon; and adjusting the deviceaccording to the user input.
 12. The computer-implemented method ofclaim 11, wherein detecting the first selection of a virtual knobcomprises detecting a tap on a surface of the touchscreen interface at aposition proximate to a virtual knob, and wherein detecting a secondselection of a virtual knob comprises detecting an extended contact onthe surface of the touchscreen interface at a position proximate to avirtual knob.
 13. The computer-implemented method of claim 12, whereindetermining the virtual knob to receive user input comprises:determining whether the virtual knob proximate to the position of thetap on the surface of the touchscreen interface may be adjustedaccording to the state of the device; if the virtual knob proximate tothe position of the tap on the surface of the touchscreen interface maybe adjusted according to the state of the device, determining that thevirtual knob proximate to the position of the tap is the virtual knob ofthe plurality of virtual knobs to receive user input; and if the virtualknob proximate to the position of the tap on the surface of thetouchscreen interface may not be adjusted according to the state of thedevice, determining whether each of the other virtual knobs of theplurality of virtual knobs may be adjusted according to the state of thedevice, and determining that each virtual knob that may be adjustedaccording to the state of the device is the virtual knob to receive userinput.
 14. The computer-implemented method of claim 11, wherein thedevice comprises a vehicle instrument, wherein the touchscreen interfaceis associated with a vehicle simulator, and wherein detecting the userinput corresponding to the annular input icon comprises detecting anarcuate contact on a surface of the touchscreen interface within theannular input icon.
 15. The computer-implemented method of claim 11,further comprising providing feedback to the user in response to thefirst selection of the virtual knob, the second selection of the virtualknob, or in response to the user input.
 16. A computer-readable storagemedium having computer-executable instructions stored thereupon which,when executed by a computer, cause the computer to: provide arepresentation of a device comprising a plurality of virtual knobs on atouchscreen interface; detect a selection of a virtual knob of theplurality of virtual knobs; in response to the selection of the virtualknob, determine a virtual knob to receive user input; display an annularinput icon around the virtual knob to receive user input; detect theuser input corresponding to the annular input icon; detect an extendedcontact on the surface of the touchscreen interface at a positionproximate to a virtual knob of the plurality of virtual knobs; inresponse to detecting the extended contact, change a state of the devicefrom a first state to a second state corresponding to the virtual knobproximate to the position of the extended contact; and adjust the deviceaccording to the second state and the user input.
 17. Thecomputer-readable storage medium of claim 16, wherein detecting theselection of the virtual knob comprises detecting a tap on a surface ofthe touchscreen interface at a position proximate to a virtual knob ofthe plurality of virtual knobs, and wherein the computer-readablestorage medium has further computer-executable instructions storedthereupon which, when executed by the computer, cause the computer to:determine whether the virtual knob proximate to the position of the tapon the surface of the touchscreen interface may be adjusted; if thevirtual knob proximate to the position of the tap on the surface of thetouchscreen interface may be adjusted, display the annular input iconaround the virtual knob proximate to the position of the tap; and if thevirtual knob proximate to the position of the tap on the surface of thetouchscreen interface may not be adjusted, display the annular inputicon around an alternative virtual knob of the plurality of virtualknobs that may be adjusted.